This page contains complete schematics and block diagrams documenting the system architecture, component interconnections, and design structure.

System Block Diagram

TODO: Add complete system block diagram

Please add a high-level system block diagram showing: - Arduino with BNO085 sensor connection - FPGA with dual SPI slave interfaces - STM32 MCU with SPI master interface - Data flow arrows indicating direction - Key signals (SPI lines, I2C lines, power, ground)

Recommended Image Specifications: - Format: PNG or SVG - Size: 1200px width minimum - Location: Save to Images/system-block-diagram.png - Include labels for all components and connections

Example placeholder:

![System Block Diagram](Images/system-block-diagram.png){width="100%" alt="Complete system block diagram showing Arduino, FPGA, and MCU connections"}

FPGA Block Diagram

TODO: Add FPGA internal block diagram

Please add a detailed FPGA block diagram showing: - Top-level module (drum_trigger_top) - Arduino SPI slave module (arduino_spi_slave) - MCU SPI slave module (spi_slave_mcu) - Internal data paths and buffers - Control signals and state machines - Clock domains

Recommended Image Specifications: - Format: PNG or SVG - Size: 1200px width minimum - Location: Save to Images/fpga-block-diagram.png - Show module hierarchy and interconnections

Example placeholder:

![FPGA Block Diagram](Images/fpga-block-diagram.png){width="100%" alt="FPGA internal architecture showing SPI slave modules and data flow"}

MCU Interface Diagram

TODO: Add MCU interface diagram

Please add a diagram showing: - STM32L432KC pin connections - SPI1 interface pins (PB3=SCK, PB5=MOSI, PB4=MISO, PA11=NSS) - Connection to FPGA - Power and ground connections - Any other peripheral connections

Recommended Image Specifications: - Format: PNG or SVG - Size: 1000px width minimum - Location: Save to Images/mcu-interface-diagram.png - Label all pins and their functions

Example placeholder:

![MCU Interface Diagram](Images/mcu-interface-diagram.png){width="100%" alt="STM32 MCU pin connections and SPI interface"}

Arduino Sensor Interface

TODO: Add Arduino sensor interface diagram

Please add a diagram showing: - Arduino/ESP32 connections - BNO085 sensor I2C interface (SDA, SCL) - Power connections (3.3V, GND) - SPI interface to FPGA (SCK, MOSI, CS) - Pin assignments

Recommended Image Specifications: - Format: PNG or SVG - Size: 1000px width minimum - Location: Save to Images/arduino-sensor-interface.png - Show both I2C (sensor) and SPI (FPGA) connections

Example placeholder:

![Arduino Sensor Interface](Images/arduino-sensor-interface.png){width="100%" alt="Arduino connections to BNO085 sensor and FPGA"}

Pin Connection Diagram

TODO: Add complete pin connection diagram

Please add a comprehensive pin connection diagram showing: - All interconnections between Arduino, FPGA, and MCU - Signal names and pin numbers - Power and ground distribution - Any pull-up/pull-down resistors - Clock signals

Recommended Image Specifications: - Format: PNG or SVG - Size: 1400px width minimum - Location: Save to Images/pin-connections.png - Use color coding for different signal types (power, ground, SPI, I2C, etc.)

Example placeholder:

![Pin Connection Diagram](Images/pin-connections.png){width="100%" alt="Complete pin connection diagram for all components"}

SPI Protocol Timing Diagram

TODO: Add SPI timing diagram

Please add a timing diagram showing: - SPI Mode 0 timing (CPOL=0, CPHA=0) - CS, SCK, MOSI, MISO waveforms - Data bit timing - Transaction boundaries - Example packet transmission

Recommended Image Specifications: - Format: PNG or SVG - Size: 1200px width minimum - Location: Save to Images/spi-timing-diagram.png - Show clock edges and data sampling points

Example placeholder:

![SPI Timing Diagram](Images/spi-timing-diagram.png){width="100%" alt="SPI Mode 0 timing diagram showing clock and data signals"}

Adding Your Diagrams

Instructions for Adding Diagrams

  1. Create your diagrams using your preferred tool (KiCad, Fritzing, draw.io, etc.)

  2. Export as PNG or SVG with appropriate resolution (minimum 1000px width)

  3. Save to the Images/ directory with descriptive filenames

  4. Update this page by replacing the placeholder sections above with:

    ![Description](Images/your-filename.png){width="100%" alt="Description"}

Image Format Guidelines

  • Format: PNG (for photos/screenshots) or SVG (for diagrams)
  • Resolution: Minimum 1000px width, 300 DPI recommended
  • File Size: Optimize images to keep page load times reasonable
  • Naming: Use descriptive, lowercase filenames with hyphens (e.g., system-block-diagram.png)